//! # RustCloud API网关
//!
//! 企业级API网关实现，提供完整的微服务网关功能。
//!
//! ## 核心功能
//!
//! * **路由管理** - 动态路由配置和服务发现集成
//! * **认证授权** - JWT、OAuth2、API Key等多种认证方式
//! * **限流控制** - 多维度、多算法的限流保护
//! * **请求转换** - Header转换、内容过滤、URL重写
//! * **缓存机制** - 响应缓存和缓存策略管理
//! * **监控分析** - 实时监控和性能分析
//! * **灰度发布** - 蓝绿部署、金丝雀发布支持

// 核心抽象接口层 - 新增
pub mod core;

// 现有模块
pub mod gateway;
pub mod router;
pub mod filter;
pub mod auth;
pub mod rate_limit;

// 重新导出公共功能模块以保持向后兼容
pub mod monitoring {
    //! 监控模块，重新导出 rustcloud-observability 功能
    pub use rustcloud_observability::monitoring::*;
}

pub mod health {
    //! 健康检查模块，重新导出 rustcloud-observability 功能
    pub use rustcloud_observability::health::*;
}

pub mod resilience {
    //! 容错机制模块，重新导出 rustcloud-resilience 功能
    pub use rustcloud_resilience::*;
}

#[cfg(feature = "admin")]
pub mod admin {
    //! 管理接口模块，重新导出 rustcloud-admin 功能
    pub use rustcloud_admin::*;
}

#[cfg(test)]
mod tests;

#[cfg(test)]
mod integration_tests;

// 重新导出核心类型（保持向后兼容）
pub use core::*;
pub use gateway::*;
pub use router::*;
pub use filter::*;
pub use auth::*;
pub use rate_limit::*;

// 预设模块 - 常用功能集合
pub mod prelude {
    pub use crate::core::*;
    pub use crate::gateway::*;
    pub use crate::router::*;
    pub use crate::filter::*;
    pub use crate::auth::*;
    pub use crate::rate_limit::*;
    pub use crate::monitoring::*;
    pub use crate::health::*;
    pub use crate::resilience::*;
    
    #[cfg(feature = "admin")]
    pub use crate::admin::*;
    
    // 重新导出公共模块的预设
    pub use rustcloud_resilience::prelude::*;
    pub use rustcloud_observability::prelude::*;
    
    #[cfg(feature = "admin")]
    pub use rustcloud_admin::prelude::*;
}